using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;

namespace DefLib
{
    public class GameState
    {
        public int GAME_STATE_DEF;
        public ContentManager Content;
        public GraphicsDevice gr;
        public GameState()
        {
            this.GAME_STATE_DEF = -1;
        }
        public GameState(ContentManager Content,GraphicsDevice gr)
        {
            this.GAME_STATE_DEF = -1;
            Content = Content;
        }
        public virtual void MessageEnter(int message)
        {
        }

        public virtual void MessageUpdate(int message, int m_event, int IDState)
        {
        }

        public virtual void MessagePaint(SpriteBatch g_DC, int message)
        {
        }

        public void StateHandler(int message, SpriteBatch graphicsDc, int m_event, int IDState)
        {
            if (message == gDef.MESSAGE_ENTER)
                this.MessageEnter(message);
            else if (message == gDef.MESSAGE_PAINT)
                this.MessagePaint(graphicsDc, message);
            else if (message == gDef.MESSAGE_UPDATE)
                this.MessageUpdate(message, m_event, IDState);
        }

    }
}
